package com.lib.common.repository.datacenter

import com.lib.common.entity.LoginEvent
import com.lib.common.entity.LogoutEvent
import com.lib.framework.manager.ContextManager
import org.greenrobot.eventbus.EventBus


/**
 * Copyright (C), 2020-2020, 享物说
 * FileName: DataCenter
 * Author: keanbin
 * Date: 2020-02-07 14:45
 * Description: 数据中心，用于放一些常用的数据对象
 * History:
 * <author> <time> <version> <desc>
 * 作者姓名 修改时间 版本号 描述
 */
object DataCenter {

    /**
     * token
     */
    private var mToken = ""

    /**
     * 是否登陆
     */
    private var mIsLogin = ""


    init {

    }

    /**
     * 获取 token
     */
    fun getToken(): String {
        if (mToken.isEmpty()) {
            mToken = DataCenterSharePreHelper(ContextManager.applicationContext).getString(
                DataCenterSharePreHelper.SP_KEY_TOKEN,
                ""
            )
        }

        return mToken
    }

    /**
     * 设置 Token
     */
    fun setToken(token: String) {
        mToken = token
        DataCenterSharePreHelper(ContextManager.applicationContext).putString(
            DataCenterSharePreHelper.SP_KEY_TOKEN,
            token
        )
    }


    /**
     * 获取 是否登陆
     */
    fun isLogin(): Boolean {
        if (mIsLogin.isEmpty()) {
            mIsLogin = DataCenterSharePreHelper(ContextManager.applicationContext).getString(
                DataCenterSharePreHelper.SP_KEY_IS_LOGIN,
                "0"
            )
        }
        return mIsLogin == "1"
    }

    /**
     * 设置 是否登陆
     */
    fun setIsLogin(isLogin: Boolean) {
        mIsLogin = if (isLogin) "1" else "0"
        DataCenterSharePreHelper(ContextManager.applicationContext).putString(
            DataCenterSharePreHelper.SP_KEY_IS_LOGIN,
            mIsLogin
        )

        if (isLogin) {
            EventBus.getDefault().post(LoginEvent())
        } else {
            EventBus.getDefault().post(LogoutEvent())
        }
    }

}